function Trig_ItemInfomation_Actions takes nothing returns nothing
	local item weapon = UnitItemInSlot(udg_Survivors[GetPlayerId(GetTriggerPlayer())] , 0)
	local integer itemId = GetHandleId(weapon)
	local integer weaponType = LoadInteger(udg_ItemTypeDataHashTable , GetItemTypeId(weapon) , StringHash("WEAPON_TYPE"))
	local real baseValue = 0.0
	local real trueValue = 0.0
	local real bonusValue = 0.0
	local string colorCode = null
	//--
	if weaponType == StringHash("DAGGER") then
		set baseValue = LoadReal(udg_ItemTypeDataHashTable , GetItemTypeId(weapon) , StringHash("MEAN_DAMAGE"))
		set trueValue = LoadReal(udg_ItemDataHashTable , itemId , StringHash("WEAPON_DAMAGE"))
		set bonusValue = trueValue - baseValue
		set colorCode = LoadStr(udg_ItemDataHashTable , itemId , StringHash("DAMAGE_BONUS_COLOR"))
		call PrintP(GetTriggerPlayer() , "傷害: " + I2S(R2I(trueValue)) + "(" + I2S(R2I(baseValue)) + "|c" + colorCode + "+" + I2S(R2I(bonusValue)) + "|r)")
		call PrintP(GetTriggerPlayer() , LoadStr(udg_ItemDataHashTable , GetHandleId(weapon) , StringHash("WEAPON_MAKER")))
	elseif weaponType == StringHash("SHIELD") then
		set baseValue = LoadReal(udg_ItemTypeDataHashTable , GetItemTypeId(weapon) , StringHash("BLOCK_PROBABILITY"))
		if baseValue > 0.0 then
			set trueValue = LoadReal(udg_ItemDataHashTable , GetHandleId(weapon) , StringHash("BLOCK_PROBABILITY"))
			set bonusValue = trueValue - baseValue
			set colorCode = LoadStr(udg_ItemDataHashTable , itemId , StringHash("BLOCK_PROBABILITY_BONUS_COLOR"))
			call PrintP(GetTriggerPlayer() , "格擋機率: " + I2S(R2I(trueValue)) + "(" + I2S(R2I(baseValue)) + "|c" + colorCode + "+" + I2S(R2I(bonusValue)) + "|r)")
		endif
		call PrintP(GetTriggerPlayer() , LoadStr(udg_ItemDataHashTable , GetHandleId(weapon) , StringHash("WEAPON_MAKER")))
	elseif weaponType == StringHash("TWO_HANDED") then
		set baseValue = LoadReal(udg_ItemTypeDataHashTable , GetItemTypeId(weapon) , StringHash("MEAN_DAMAGE"))
		set trueValue = LoadReal(udg_ItemDataHashTable , GetHandleId(weapon) , StringHash("MEAN_DAMAGE"))
		set bonusValue = trueValue - baseValue
		set colorCode = LoadStr(udg_ItemDataHashTable , itemId , StringHash("DAMAGE_BONUS_COLOR"))
		call PrintP(GetTriggerPlayer() , "傷害: " + I2S(R2I(trueValue)) + "(" + I2S(R2I(baseValue)) + "|c" + colorCode + "+" + I2S(R2I(bonusValue)) + "|r)")
		
		set baseValue = LoadReal(udg_ItemTypeDataHashTable , GetItemTypeId(weapon) , StringHash("RANGE_BONUS"))
		if baseValue > 0.0 then
			set trueValue = LoadReal(udg_ItemDataHashTable , GetHandleId(weapon) , StringHash("RANGE_BONUS"))
			set bonusValue = trueValue - baseValue
			set colorCode = LoadStr(udg_ItemDataHashTable , itemId , StringHash("RANGE_BONUS_COLOR"))
			call PrintP(GetTriggerPlayer() , "攻擊範圍加成: " + I2S(R2I(trueValue)) + "(" + I2S(R2I(baseValue)) + "|c" + colorCode + "+" + I2S(R2I(bonusValue)) + "|r)")
		endif
		call PrintP(GetTriggerPlayer() , LoadStr(udg_ItemDataHashTable , GetHandleId(weapon) , StringHash("WEAPON_MAKER")))
	endif
	//--
endfunction

function InitTrig_ItemInfomation takes nothing returns nothing
	set gg_trg_ItemInfomation = CreateTrigger()
	call TriggerRegisterPlayerForceChatEvent(gg_trg_ItemInfomation , "-info")
	call TriggerAddAction(gg_trg_ItemInfomation , function Trig_ItemInfomation_Actions)
endfunction